curl -X POST \
     -H "Authorization: Bearer <ТВОЙ_ТОКЕН_АДМИНИСТРАТОРА_СЕРВЕРА>" \
     -H "Content-Type: application/json" \
     --data '{"user_id": "<@пользователь:твой_домен.ru>"}' \
     '<URL_ТВОЕГО_СЕРВЕРА>/_synapse/admin/v1/rooms/<ID_КОМНАТЫ>/make_room_admin'

Расшифровка параметров (что подставлять и где брать):

    <ТВОЙ_ТОКЕН_АДМИНИСТРАТОРА_СЕРВЕРА> — Access Token учетной записи, которая имеет права администратора самого сервера Synapse (в конфигурации homeserver.yaml этот пользователь должен быть отмечен как админ, или ему выданы права через базу данных).

        Где взять: В клиенте Element (Настройки -> Справка и о программе -> Раздел "Дополнительно" -> Маркер доступа / Access Token).

    <@пользователь:твой_домен.ru> — Matrix ID пользователя, которому нужно выдать права администратора (100 уровень) в конкретной комнате.

    <URL_ТВОЕГО_СЕРВЕРА> — базовый адрес вашего Matrix-сервера (например, https://matrix.example.com).

    <ID_КОМНАТЫ> — внутренний идентификатор комнаты. Обратите внимание, что это не алиас (не #room_name:domain.ru), а именно внутренний ID, который всегда начинается с восклицательного знака !.

        Где взять: В клиенте Element зайдите в комнату -> Настройки комнаты -> Дополнительно -> Внутренний ID комнаты (например: !RandomString:domain.ru).

Важное примечание:

Эта команда использует Synapse Admin API (/_synapse/admin/v1/...). Она сработает только в том случае, если сервер работает на базе Matrix Synapse, а владелец токена действительно является глобальным администратором сервера.